home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 62
/
Volume 62 - JOGO DISK .iso
/
Games
/
penguin_dinner.swf
/
scripts
/
__Packages
/
classes
/
movieclip
/
AnimatedClip.as
Wrap
Text File
|
2008-03-17
|
3KB
|
90 lines
class classes.movieclip.AnimatedClip extends MovieClip
{
static var COMPLETE_SEQUENCE = "complete_sequence";
static var COMPLETE_STATE = "complete_state";
static var STATE_DEFAULT = "state_default";
static var STATE_ANIMATE = "state_animate";
function AnimatedClip()
{
super();
com.gskinner.events.GDispatcher.initialize(this);
this.animationQueue = [];
this.setAnimationState(classes.movieclip.AnimatedClip.STATE_DEFAULT);
}
function addEventListener(eventType, scope, functionName)
{
}
function removeEventListener(eventType, scope, functionName)
{
}
function removeAllEventListeners(eventType)
{
}
function dispatchEvent(event)
{
}
function setAnimationState($animationState)
{
this.removeAllEventListeners(classes.movieclip.AnimatedClip.COMPLETE_SEQUENCE);
this.removeAllEventListeners(classes.movieclip.AnimatedClip.COMPLETE_STATE);
this.animationQueue = [];
this.state = $animationState;
this.gotoAndStop(this.state);
this.stateClip = this[this.state];
this.stateClip.gotoAndStop(1);
}
function setAnimationSequence($animationQueue)
{
this.sequencePlaying = true;
this.removeAllEventListeners(classes.movieclip.AnimatedClip.COMPLETE_SEQUENCE);
this.removeAllEventListeners(classes.movieclip.AnimatedClip.COMPLETE_STATE);
this.animationQueue = $animationQueue;
this._setAnimationState();
}
function _setAnimationState()
{
if(!this.animationQueue.length)
{
this.sequencePlaying = false;
this.dispatchEvent(new classes.events.AnimatedClipEvent(this,classes.movieclip.AnimatedClip.COMPLETE_SEQUENCE,this.stateClip._currentframe,this.state));
return undefined;
}
this.state = String(this.animationQueue.shift());
this.gotoAndStop(this.state);
this.stateClip = this[this.state];
this.stateClip.gotoAndStop(1);
}
function animate($animationState)
{
if(!this.animator)
{
return false;
}
if(typeof $animationState == "string")
{
this.setAnimationState($animationState);
}
else
{
this.setAnimationSequence($animationState);
}
return true;
}
function update()
{
if(this.stateClip._currentframe == this.stateClip._totalframes || !this.stateClip)
{
this.dispatchEvent(new classes.events.AnimatedClipEvent(this,classes.movieclip.AnimatedClip.COMPLETE_STATE,this.stateClip._currentframe,this.state));
this.stateClip.gotoAndStop(1);
if(this.sequencePlaying)
{
this._setAnimationState();
}
}
else
{
this.stateClip.nextFrame();
}
}
}